# 06 — Cost & Budget ## Headline Running this dashboard daily costs roughly **$15–25/month** in DataBento usage. The same information from retail vendors runs $99–$299/month. ~85–95% cheaper, and we own the data path. ## Per-query DataBento cost previews Measured 2026-05-25 against the historical API (`client.metadata.get_cost`): | Query | Window | Cost | Bytes billable | |---|---|---|---| | CME `ES.OPT` definition | day | $0.0000 | 0 (included tier) | | CME `ES.OPT` statistics | day | $0.0000 | 0 (included) | | CME `ES.OPT` ohlcv-1d | day | $0.0000 | 0 (included) | | CME `ES.OPT` trades | day | $0.0000 | 0 (included) | | OPRA `SPX.OPT+SPXW.OPT` definition | day | $0.0504 | 10.8 MB | | **OPRA `SPX.OPT+SPXW.OPT` statistics** | **day** | **$0.3297** | **32.2 MB** | | OPRA `SPX.OPT+SPXW.OPT` statistics | month | $7.72 | 754 MB | | OPRA `SPX.OPT+SPXW.OPT` trades | day | $15.22 | 58.4 MB (full tape; not used by dashboard) | | OPRA `SPX.OPT+SPXW.OPT` cbbo-1m | day | $1.90 | 1 GB (not used) | | OPRA SPX+SPXW+NDX+NDXP+RUT+RUTW statistics | month | $15.31 | 1.5 GB | **The dashboard only pulls `definition` + `statistics` schemas.** Trades, MBO, cbbo etc. are far more expensive and aren't needed for daily snapshot work. ## Monthly cost (running dashboard each trading morning) Roughly 21 trading days/month. Current default config: **CME futures + Schwab ETFs + SPX + RUT + NDX OPRA**. | Coverage | Per-day cost | Per-month cost | |---|---|---| | CME only (ES/NQ/GC) | $0.00 | **$0.00** (included) | | Schwab (IWM/SPY/QQQ + all spot lookups) | $0.00 | **$0.00** (free) | | + SPX (SPX.OPT + SPXW.OPT) OPRA | +$0.33 | +$7.00 | | + RUT (RUT.OPT + RUTW.OPT) OPRA | +$0.33 | +$7.00 | | + NDX (NDX.OPT + NDXP.OPT) OPRA | +$0.33 | +$7.00 | | **Current default (2026-05-26 EOD)** | **~$1.00** | **~$22/month** | **To trim cost back to $0:** edit `UNDERLYINGS` in `dashboard_visual.py` to drop the three OPRA entries (SPX, RUT, NDX). You'd lose direct cash-index dealer positioning but keep ES/NQ via CME and SPY/QQQ/IWM via Schwab as proxies. ## Comparison vs alternatives | Source | Monthly | What you get | Limitations | |---|---|---|---| | **SpotGamma Standard** | $99 | Walls, flip, daily report, web dashboards | Walled garden; no API/data | | **SpotGamma Pro** | $299 | Above + intraday updates | Walled garden | | **Polygon Options Bundle** | $199 | Raw OPRA data, no analytics | Just data; you build everything | | **Tradier Brokerage** | ~$10/mo or $0 with $$$ AUM | Real-time options data via their API | Tight rate limits, limited symbols | | **DataBento Historical OPRA** | **$7-21 (this stack)** | Raw OPRA + you keep the analytics | Pay per query; ~2 day historical lag | | **DataBento Live OPRA** | Subscription (pricing varies) | Real-time streaming | Higher tier, only if you do intraday work | ## Cost-control practices baked into the code - `dashboard_db.py --skip-opra` flag → CME-only mode for $0 runs - `dashboard_visual.py` runs OPRA queries for only the symbols that need it (RUT only by default; SPX/NDX commented out as optional bonus) - Schemas restricted to `definition` + `statistics` — the cheap ones - Definitions are cached per-trade-day implicitly (one query returns all contracts for the day) ## Where to check spend - **databento.com/portal/billing** → cumulative spend month-to-date + payment method - **databento.com/portal/usage** → individual query log with timestamps - **databento.com/portal/datasets** → which entitlements are active ## When to upgrade to live tier The deferred [[07 - Future Work]] item "intraday-OI corrected GEX" would require live OPRA. Worth doing only if: - Daily snapshot levels are demonstrably wrong by 11 AM and you need fresher data - You're trading 0DTE actively and need walls that update intraday - You can amortize the live cost across enough trading days to beat SpotGamma Pro Until then: daily snapshot is the right cost/value trade. ## See also - [[00 - Overview]] - [[07 - Future Work]] — what the live tier would unlock